<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }


    .getTop {
      position: absolute;
      z-index: 5;
      left: 50%;
      top: 50%;
      transform: translateX(-50%) translateY(-50%);
      border-radius: 20px !important;
      background-color: rgba(255, 255, 255, .7) !important;

    }

    .bgckimg {
      background: url(./back.jpg);
      width: 100%;
      height: 100%;
      z-index: 2;
      position: absolute;
    }

    .layui-card-header {
      text-align: center;
      margin: 30px;
      /* font-size: 25px; */
    }
  </style>
  <link rel="shortcut icon" href="/admin/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" href="/admin/fonts/iconfont.css">
  <link rel="stylesheet" href="/admin/lib/layui/css/layui.css" />
  <!-- 导入layuiJS -->
  <script src="/admin/lib/layui/layui.js"></script>
</head>

<body>
  <!-- 背景图片开始 -->
  <div class="bgckimg">
    <img src="/admin/images/back.jpg" alt="" width="100%" height="100%">
  </div>
  <!--登录开始-->
  <div class="layui-card example getTop " style="width: 466px;">
    <div class="layui-card-header">
      <h1>修改密码</h1>
    </div>
    <div class="layui-card-body">
      <input class="layui-input" name="username" type="hidden">
      <div>
        <form class="layui-form" action="">
          <div class="layui-form-item">
            <label class="layui-form-label">输入旧密码</label>
            <div class="layui-input-block">
              <input type="password" name="oldpassword" required lay-verify="required|password" placeholder="请输入密码"
                autocomplete="off" class="layui-input">
            </div>
          </div>
          <div>

            <div class="layui-form-item">
              <label class="layui-form-label">输入新密码</label>
              <div class="layui-input-block">
                <input type="password" name="newpassword1" required lay-verify="required|password" placeholder="请输入密码"
                  autocomplete="off" class="layui-input">
              </div>
            </div>

            <div class="layui-form-item">
              <label class="layui-form-label">再输新密码</label>
              <div class="layui-input-block">
                <input type="password" name="newpassword2" required lay-verify="required|password" placeholder="请输入密码"
                  autocomplete="off" class="layui-input">
              </div>
            </div>
            <div class="layui-form-item">
              <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="update_pwdForm">立即修改</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
              </div>
            </div>

        </form>
      </div>
    </div>
  </div>
  <!--登录结束-->
</body>

</html>
<script>
  // 注册页面的相关JS
  window.onload = function () {
    register();
  };

  function register() {
    layui.use(function () {
      var { form, layer, $ } = layui;
      // 定义前台的表单验证规则
      form.verify({
        username: function (value, item) {
          //value：表单的值、item：表单的DOM对象
          if (!new RegExp('^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$').test(value)) {
            return '用户名不能有特殊字符';
          }
          if (/(^\_)|(\__)|(\_+$)/.test(value)) {
            return "用户名首尾不能出现下划线'_'";
          }
          if (/^\d+\d+\d$/.test(value)) {
            return '用户名不能全为数字';
          }
          if (!/^[\S]{5,12}$/.test(value)) {
            return '用户名必须6到12位，且不能出现空格';
          }
          //如果不想自动弹出默认提示框，可以直接返回 true，这时你可以通过其他任意方式提示（v2.5.7 新增）
          if (value === 'fuck') {
            alert('用户名不能为敏感词');
            return true;
          }
        }, //我们既支持上述函数式的方式，也支持下述数组的形式
        //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
        password: [/^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'],
      });
      // 前台表单验证规则定义完毕

      // 点击提交按钮 表单提交事件  触发表单的submit提交
      // 提交按钮元素为：     lay-filter="loginForm"
      form.on('submit(update_pwdForm)', function (data) {
        console.log(data.field); //当前容器的全部表单字段，{username: 'admin', password: '123456'}
        if (data.field.newpassword1 == data.field.newpassword2) {
          $.ajax({
            url: '/admin/users/update_pwd',
            type: 'post',
            data: data.field,
            success: res => {
              console.log(res);
              if (res.code === 0) {
                layer.open({
                  // 注册失败
                  title: '修改失败',
                  content: res.msg,
                  icon: 2,
                });
              } else {
                // 注册成功
                layer.open({
                  title: '修改成功',
                  content: res.msg,
                  icon: 1,
                });
                // 跳转到登录
                location.href = '/admin/login/';
              }
            },
          });
        } else {
          alert("两次输入的新密码不一致")
        }

        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
      });
    });
  }

</script>